home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / TempoController.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  1.6 KB  |  53 lines  |  [TEXT/KAHL]

  1. /* TempoController.h */
  2.  
  3. #ifndef Included_TempoController_h
  4. #define Included_TempoController_h
  5.  
  6. /* TempoController module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Memory */
  12. /* BinaryCodedDecimal */
  13. /* LinearTransition */
  14. /* PlayTrackInfoThang */
  15.  
  16. #include "BinaryCodedDecimal.h"
  17.  
  18. struct TempoControlRec;
  19. typedef struct TempoControlRec TempoControlRec;
  20.  
  21. /* forwards */
  22. struct LinearTransRec;
  23.  
  24. /* create a new tempo control record */
  25. TempoControlRec*                NewTempoControl(LargeBCDType DefaultBeatsPerMinute);
  26.  
  27. /* dispose of a tempo control record */
  28. void                                        DisposeTempoControl(TempoControlRec* Tempo);
  29.  
  30. /* update the tempo control & return the new value */
  31. LargeBCDType                        TempoControlUpdate(TempoControlRec* Tempo, long NumTicks);
  32.  
  33. /* reset tempo to default value */
  34. void                                        TempoControlRestoreDefault(TempoControlRec* Tempo);
  35.  
  36. /* set the tempo to the specified number of beats per minute */
  37. void                                        TempoControlSetBeatsPerMinute(TempoControlRec* Tempo,
  38.                                                     LargeBCDType NewBeatsPerMinute);
  39.  
  40. /* adjust the tempo by adding the specified value to it */
  41. void                                        TempoControlAdjustBeatsPerMinute(TempoControlRec* Tempo,
  42.                                                     LargeBCDType IncrementBeatsPerMinute);
  43.  
  44. /* sweep the tempo to a new value */
  45. void                                        TempoControlSweepToNewValue(TempoControlRec* Tempo,
  46.                                                     LargeBCDType NewBPM, SmallExtBCDType NumBeatsToReach);
  47.  
  48. /* sweep the tempo to a new value relative to the current value */
  49. void                                        TempoControlSweepToAdjustedValue(TempoControlRec* Tempo,
  50.                                                     LargeBCDType AdjustBPM, SmallExtBCDType NumBeatsToReach);
  51.  
  52. #endif
  53.